/*#include <stdio.h>
#include <string.h>
int main()
{
    int a[2][4]={{0,1,2},{3,4},{5}};//栈溢出；元素不够以0替代
    for(int i=0;i<2;i++)
    {
        for(int j=0;j<4;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
        
    }
    char acY[] = { 'a','b','c','d','e','f','g'};
    strlen (acY); // 7
    printf("%d\n",strlen(acY));//strlen计算字符串长度，遇到'\0'停止，'\0'不计算在内
    char acX[] = "abcdefg";
    strlen (acX); // 7
    printf("%d\n",strlen(acX));//strlen计算字符串长度，遇到'\0'停止，'\0'不计算在内
    sizeof (acY);//7
    printf("%d\n",sizeof(acY));//sizeof计算数组长度，遇到'\0'不停止，'\0'计算在内
    sizeof (acX);//8
    printf("%d",sizeof(acX));//sizeof计算数组长度，遇到'\0'不停止，'\0'计算在内
    return 0;
}*/
//strlen不包括\0
//sizeof包括\0


// #include <stdio.h>

// int main()
// {
//     int a,b,c;
//     while(scanf("%d %d %d",&a,&b,&c)!=EOF)
//     {
//     if(a<b+c&&b<a+c&&c<a+b)
//     {
//         if(a==b&&b==c)
//         {
//             printf("Equilateral triangle!");
//         }
//         else if(a==b&&a!=c||a==c&&a!=b||b==c&&a!=b)
//         {
//         printf("Isosceles triangle!");
//         }
//         else
//         {
//             printf("Ordinary triangle!");
//         }
//     }
//     else {
//     printf("Not a triangle!");
//     }
// }
// }

// #include <stdio.h>//a行X形图案

// int main() {
//     int a;
//     scanf("%d",&a);
//     for(int i=1;i<=a;i++)
//     {
//         for(int j=1;j<=a;j++)
//         {
//             if(j==i||j==a-i+1)
//             printf("*");
//             else
//             printf(" ");
//         }
//         printf("\n");
//     }
//     return 0;
// }

// #include <stdio.h>//正方形框架图案

// int main() {
//     int a;
//     while (scanf("%d", &a) != EOF) 
//     { 
//         for(int i=1;i<=a;i++)
//         {
//             for(int j=1;j<=a;j++)
//             {
//             if(i==1||i==a)
//             {
//                 printf("* ");
//             }
//             if(i>1&&i<a)
//             {
//                 if(j==1||j==a)
//                 printf("* ");
//                 else
//                 printf("  ");
//             }
//             }
//             printf("\n");
//         }
//     }
//     return 0;
// }

// #include <stdio.h>//矩阵转置
// int main()
// {
//     int arr[10][10]={0};
//     int n,m;
//     scanf("%d %d",&n,&m);
//     for(int i=0;i<n;i++)
//     {
//         for(int j=0;j<m;j++)
//         {
//             scanf("%d",&arr[i][j]);
//         }
//     }
//     for(int j=0;j<m;j++)
//     {
//         for(int i=0;i<n;i++)
//         {
//             printf("%d ",arr[i][j]);
//         }
//         printf("\n");
//     }
//     return 0;
// }

// #include <stdio.h>//逆序输出

// int main() {
//     int arr[10]={0};
//     for(int i=1;i<=10;i++)
//     {
//         scanf("%d ",&arr[i]);
//     }
//     for(int i=10;i>=1;i--)
//     {
//         printf("%d ",arr[i]);
//     }
//     return 0;
// }

// #include <stdio.h>
// int main()
// {
//     int m,n;
//     while(scanf("%d %d",&m,&n)!=EOF)
//     {
//     int arr[2000];
//     for(int i=0;i<m;i++)
//     {
//         scanf("%d",&arr[i]);
//     }
//     for(int i=m;i<m+n;i++)
//     {
//         scanf("%d",&arr[i]);
//     }
//     for(int i=0;i<=m+n;i++)
//     {
//         for(int j=0;j<m+n-i-1;j++)//理解为冒泡排序，每一轮把最大的数放到最后
//         {
//             int t;
//             if(arr[j]>arr[j+1])
//             {
//                 t=arr[j+1];
//                 arr[j+1]=arr[j];
//                 arr[j]=t;
//             }
//         }
//     }
//     for(int i=0;i<n+m;i++)
//     {
//         printf("%d ",arr[i]);
//     }
//     }
//     return 0;
// }

// #include <stdio.h>//求平均值
// int main()
// {
//     int arr[10];
//     int i;
//     double s=0;
//     double average;
//     for(i=0;i<=9;i++)
//     {
//         scanf("%d",&arr[i]);
//     }
//     for(i=0;i<=9;i++)
//     {
//         s+=arr[i];
//         average=s/10;
//     }
//     printf("%f",average);
//     return 0;
// }

#include <stdio.h>//交换数组
int main()
{
    int arr[10];
    int i;
    for(i=0;i<=9;i++)
    {
        scanf("%d",&arr[i]); 
    }
    int arr2[10];
    for(i=0;i<=9;i++)
    {
        scanf("%d",&arr2[i]);
    }
    for(i=0;i<=9;i++)
    {
        int arr3=arr[i];
        arr[i]=arr2[i];
        arr2[i]=arr3;
    }
    for(i=0;i<=9;i++)
    {
        printf("%d ",arr[i]);
    }
    printf("\n");
    for(i=0;i<=9;i++)
    {
        printf("%d ",arr2[i]);
    }
    return 0;
}
